#ifndef VTreeItemType_H
#define VTreeItemType_H

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

class VTreeItemType
{
public:
	enum Enum
	{
		unknown			= 0,
		catalog			= 1,
		table				= 2,
		primaryKey	= 3,
		sReference	= 4,
		mReference	= 5,
		integer			= 6,
		string			= 7
	};
	static QString enumToDisplay(Enum e);
	
public:
	VTreeItemType() :m_value(unknown) {}
	VTreeItemType(Enum v) :m_value(v) {}
	VTreeItemType(const VTreeItemType &v) :m_value(v.m_value) {}
	
	Enum value() const { return m_value;}
	void setValue(Enum v) { m_value = v;}
	
	QString toDisplay() { return enumToDisplay(m_value);}
	//QVariant value() const { return qVariantFromValue(VTreeItemType(m_value));}

private:
	Enum m_value;
};

Q_DECLARE_METATYPE(VTreeItemType)

///////////////////////////////////////////////////////////////////////////////

#endif
